package commonco

// @alias 修正_选择
type B修正_管道 struct {
	B修正

	// @alias 输入
	S输入 string `link:"管道数据"`

	// @alias 管道
	G管道 string `link:"管道"`
}

type B管道 struct {

	// @alias 输入转换
	S输入转换 map[string]*S管道输入转换
	// @alias 输出转换
	S输出转换 map[string]*S管道输入转换

	// @alias 插件
	C插件 string `link:"管道插件"`

	// @alias 输出
	S输出 string `link:"管道"`
}

type S管道输入转换 struct {
	// @alias 来源字段
	L来源字段 string
	// @alias 目标字段
	M目标字段 string
}

// 输入: [{条件:[string], ...}]
// 输出: [{...}]
type B管道_过滤器 struct {
	B管道

	// @alias 条件
	T条件 map[string]string `link:"条件"`
}

// 输入: [{概率:float32, ...}]
// 输出: [{...}]
type B管道_选择_概率 struct {
	B管道

	// 如同瀑布一般自上而下进行判断，判断成功后选中对象；当选中的对象数量达到【选中数量】时中断流程
	// 当选中数量为0时，遍历选池中所有对象
	// @alias 选中数量
	X选中数量 float32

	// 允许失败后中断流程
	// @alias 允许失败中断
	Y允许失败中断 bool
}

// 输入: [{权重:float32, ...}]
// 输出: [{...}]
type B管道_选择_权重 struct {
	B管道
}

// 输入: [{积分:float32, ...}]
// 输出: [{...}]
type B管道_选择_积分 struct {
	B管道

	// 从调用奖励的主体中，通过[积分属性]获取属性值作为积分
	// @alias 积分属性
	J积分属性 string

	// 如同瀑布一般自上而下进行判断，判断成功后选中对象；当选中的对象数量达到【选中数量】时中断流程
	// 当选中数量为0时，遍历选池中所有对象
	// @alias 选中数量
	X选中数量 float32
}

// 输入: [{...}]
// 输出: [{数量:int, ...}]
type B管道_分配 struct {
	B管道
}

// 输入: [{..., 优先级:int}]
// 输出: [{...}]
type B管道_排序 struct {
	B管道
}

// 输入: [{...}]
// 输出: [{...}]
type B管道_公式 struct {
	B管道
}

type B管道数据 struct {
}

type B管道数据_选池 struct {
	B管道数据
}

type B管道插件 struct {
}
